package com.ifmvo.togetherad.core.listener

import org.jetbrains.annotations.NotNull

/**
 *
 * Created by Matthew Chen on 2020/12/2.
 */
interface AllAdListener {

    /**
     * 开始请求前回调
     */
    fun onAdStartRequest(@NotNull providerType: String, @NotNull alias: String) {}

    /**
     * 单个提供商请求失败
     */
    fun onAdFailed(@NotNull providerType: String, @NotNull alias: String, failedMsg: String?) {}

    /**
     * 请求到了广告
     */
    fun onAdLoaded(@NotNull providerType: String, @NotNull alias: String) {}

    /**
     * 广告点击了
     */
    fun onAdClicked(@NotNull providerType: String, @NotNull alias: String) {}

    /**
     * 广告显示了
     */
    fun onAdShow(@NotNull providerType: String, @NotNull alias: String) {}

    /**
     * 广告曝光了（ 和 onAdShow 的区别是展示不一定曝光，曝光一定展示，需要展示一定的时间才会曝光，曝光的条件是提供商规定的 ）
     */
    fun onAdExposure(@NotNull providerType: String, @NotNull alias: String) {}
}